This invention relates to a method of creating video effects by use of keyframes.
Two machines that are widely used in creating video effects are the production switcher and the digital video effects device. Each of these video processing machines is used to modify an input video signal in a controlled fashion in order to produce an output video signal. The modification is commonly called an effect. The production switcher may be used to create an effect involving multiple input video signals, e.g. a wipe or dissolve from a first input video signal to a second input video signal. The production switcher may also be used for other purposes, for example to apply a colored border to the image represented by the input video signal. The digital video effects device may be used to create an effect involving a change in size of the image represented by the input video signal relative to the raster of the output video signal, or a change in position of the image represented by the input video signal relative to the output raster.
These video processing machines are highly complex and have numerous functions. The status of each function is defined by the value of a parameter associated with the function. For example, in the case of a production switcher executing a dissolve from input video A to input video B, appropriate functions might be
select video A as program input for mixer M1 PA0 select video B as preset input for mixer M1 PA0 mix coefficient for mixer M1.
The parameters associated with the first two functions would typically be binary in nature and would each be logical 1 throughout the effect, and the parameter associated with the third function might be a ten bit number that would change smoothly during the effect from logical 0, indicating 100% video A and 0% video B, to logical 1, indicating 0% video A and 100% video B. Each of the other parameters is set to a default value, typically logical 0, such that the associated function is not invoked.
In order to create a simple effect, the machine operator specifies a starting keyframe, an ending keyframe and the number of video frames or fields over which the effect is to take place. Each keyframe is a complete description of the machine state. If, for example, the machine has 100 functions, the status of each function is defined by a parameter and the starting keyframe contains the starting value for each of the 100 function parameters and the ending keyframe contains the ending value for each parameter. When the effect is run, the entire state of the machine is updated at each video frame. For the functions that are in use during the effect, the updated value for the associated parameter is obtained by interpolating between the parameter's starting value and the parameter's ending value. Where the starting value and ending value are the same (select video A and select video B in the case of the example), the interpolated value is the same as the starting value. Similarly, for a function that is not invoked for the effect, the value of the parameter is updated with the default value on each frame.
A somewhat more complex effect might involve translation of the image represented by the input video signal from a starting position at time t.sub.0 through three intermediate positions (times t.sub.1, t.sub.2 and t.sub.3) to an ending position (time t.sub.4). In this case, it is necessary to specify five keyframes giving the position of the input image at each of the times t.sub.0 -t.sub.4.
This approach to controlling operation of a video processing machine on the basis of keyframes is straightforward and easy to understand, but it has certain limitations in its application. For example, if the producer of the effect employing five keyframes also wishes to create a picture border that turns slowly from blue to red over the duration of the entire effect from t.sub.0 to t.sub.4, there are only two time values (t.sub.0 and t.sub.4) at which the parameters that describe the color of the picture border must have specified values. Since the entire state of the machine is changed at each video frame and the parameters are interpolated between consecutive keyframes, it is necessary to include border color information in the three intermediate keyframes for times t.sub.1 -t.sub.3. The producer must therefore estimate the values of the border color parameters at points in time (t.sub.1 -t.sub.3) that are not related to the way in which the border color function is intended to operate. This increases the time spent in creating an effect and increases the chance that the effect will not be what was expected, requiring adjustment of the intermediate keyframes and taking time to estimate other values of the border color parameters.